<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="generator" content="MATLAB R2018a"><meta http-equiv="X-UA-Compatible" content="IE=edge,IE=9,chrome=1"><title>Hazard Warning in Manhattan Grid</title><style type="text/css">
* {margin: 0; padding: 0;}
body {text-align: start; line-height: 17.234001159668px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-style: normal; font-size: 13.9999990463257px; font-weight: normal; text-decoration: none; white-space: normal; }
h1, h2 {font-weight: normal;}
.content { padding: 30px; }

.S0 { margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S1 { text-align: center; line-height: 26.3999977111816px; min-height: 24px; white-space: pre-wrap; color: rgb(213, 80, 0); font-family: Helvetica, Arial, sans-serif; font-size: 22px; white-space: pre-wrap; margin-left: 4px; margin-top: 3px; margin-bottom: 15px; margin-right: 10px;  }
.S2 { min-height: 0px; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S3 { font-weight: bold; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S4 { text-align: left; line-height: 20.576000213623px; min-height: 20px; white-space: pre-wrap; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-weight: bold; white-space: pre-wrap; margin-left: 4px; margin-top: 15px; margin-bottom: 9px; margin-right: 10px;  }
.S5 { text-align: left; line-height: 21px; min-height: 17px; white-space: pre-wrap; font-family: Helvetica, Arial, sans-serif; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px;  }
.S6 { font-family: Helvetica, Arial, sans-serif; margin-left: 0px; margin-top: 10px; margin-bottom: 20px; margin-right: 0px;  }
.S7 { text-align: left; line-height: 20.9999980926514px; white-space: pre-wrap; white-space: pre-wrap; margin-left: 55.9999961853027px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S8 { font-style: italic; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }

.CodeBlock {margin: 10px 0 10px 0; background-color: #F7F7F7;}
.CodeBlock+.paragraphNode {margin-top: 10px;}
.lineNode {padding-left: 10px; border-left: 1px solid #E9E9E9; border-right: 1px solid #E9E9E9;}
.inlineWrapper:first-child .lineNode,.inlineWrapper.outputs+.inlineWrapper .lineNode {padding-top: 5px; border-top: 1px solid #E9E9E9;}
.inlineWrapper:last-child .lineNode,.inlineWrapper.outputs .lineNode {padding-bottom: 5px; border-bottom: 1px solid #E9E9E9;}
.lineNode .textBox {white-space: pre;}
</style></head><body><div class = "content"><div class = 'SectionBlock containment active'><h1 class = "S1"><span class = "S2"><span class="S3">Hazard Warning in Manhattan Grid</span></span></h1><h2 class = "S4"><span class = "S2"><span class="S0">Aim of the example</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">The example models a vehicular communication network for hazard warning in urban environment with Manhattan grid topology. The aim is to measure the performance of V2V communication in avoiding the hazard under various conditions.</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">MATLAB-NS3 Interface</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">The core simulation runs in NS-3 with scenario description written in MATLAB. The NS-3 library functions are called via Mex-bindings interface from MATLAB. Along with the scenario, the features implemented in MATLAB are:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Manhattan-grid topology creation.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Routing of vehicles.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Re-routing of vehicles.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Packet construction of all types.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Mobility intelligence based on the received packets.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Post-simulation visualization.</span></span></li></ul><h2 class = "S4"><span class = "S2"><span class="S0">Scenario Description</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">The scenario consists of vehicles moving in a Manhattan grid of roads. It includes:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Several ‘regular’ vehicles (shown as numbers) that need to avoid the hazard to reach the destination</span></span></li><li class = "S7"><span class = "S0"><span class="S0">A broke down ‘hazard’ vehicle (red cross mark) that pops up on one of the roads</span></span></li><li class = "S7"><span class = "S0"><span class="S0">A set of ‘rogue’ vehicles (small black boxes) that cause communication interference</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Each vehicle is installed with WAVE (over 802.11p) stack for V2V communication.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">Following figure has a 4x4 grid.</span></span></div><div class = "S5"><span class = "S2"><span class="S0"> </span></span><img class="imageNode" width="613.7744567871094" style="vertical-align: baseline" src=""></div><div class = "S5"><span class = "S2"><span class="S0"> </span></span></div><div class = "S5"><span class = "S2"><span class="S0">Each road in the grid can be identified by a 3-tuple –</span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S3">[direction, block horizontal index, block vertical index]</span></span><span class = "S2"><span class="S0">. The last 2 tuple members identify a block and ‘direction’ specifies the road surrounding that block. There can be 4 roads surrounding a block in +x, -x, +y, and -y directions as shown below.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">                                            </span></span><img class="imageNode" style="vertical-align: baseline" src=""></div><div class = "S5"><span class = "S2"><span class="S0">Block’s horizontal index varies from 1 to total horizontal blocks. Likewise, vertical index varies from 1 to total vertical blocks. So, a sample valid road identifier could be [‘+y’, 2, 3] which is +y directional road of the 2</span></span><span class = "S2"><span class="S0">nd</span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">block in the 3</span></span><span class = "S2"><span class="S0">rd</span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">row (from bottom) of the grid.</span></span></div><div class = "S5"><span class = "S2"><span class="S3">Note</span></span><span class = "S2"><span class="S0">: As shown in visualizer figure, there are no roads at the boundaries of grid. So, a block may have less than 4 roads surrounding it. For example: 4th block in first (or any) row of grid does not have ‘-x’ and ‘+y’ roads. So [‘-x’, 4, 1] is not a valid road.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">The user defines the journey for each regular vehicle with valid sour    ce and destination roads (both defined using 3-tuple identification). The MATLAB scenario file has a configuration parameter named</span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S3">journeyList</span></span><span class = "S2"><span class="S3"> </span></span><span class = "S2"><span class="S0">for this. Each row in this array defines journey of a vehicle. Here is a code snippet to set journeys:</span></span></div><div class = "S5"><img class="imageNode" style="vertical-align: baseline" src=""></div><div class = "S5"><span class = "S2"><span class="S0">The routing algorithm finds a route from start of source road to end of destination road, during the simulation setup. To make the scenario interesting, the vehicle route derivation logic ensures that the route passes through the road with hazard based on configured hazard location defined by ‘</span></span><span class = "S2"><span class="S3">hazardLoc</span></span><span class = "S2"><span class="S0">’ parameter in the MATLAB scenario file. ‘</span></span><span class = "S2"><span class="S3">hazardLoc</span></span><span class = "S2"><span class="S3">’</span></span><span class = "S2"><span class="S3"> </span></span><span class = "S2"><span class="S0">is again a valid road identifier defined using above described 3-tuple identification.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">The rogue vehicles, on the other hand just hover around the hazard with the sole purpose of creating network interference around it. User just need to configure the rogue vehicle count, and their route is automatically derived to make sure they move in vicinity of hazard.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">A hazard appears on one of the roads (configured using ‘</span></span><span class = "S2"><span class="S3">hazardLoc</span></span><span class = "S2"><span class="S0">’ parameter) at a pre-configured time during the simulation run. It periodically broadcasts a ‘hazard warning’ packet with its location in the form of blocked road ID.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">The regular vehicles react to the warning message differently, based on their location.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">If the vehicle is already on the road with hazard before receiving the hazard warning, it just stops to avoid collision with the broken-down vehicle.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">If the vehicle is next headed towards hazard road, it dynamically finds an alternate route (if possible) and thus avoids the hazard.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">If the vehicle is not headed towards hazard, it does not react and continue along its journey.</span></span></li></ul><h2 class = "S4"><span class = "S2"><span class="S0">What is not in scope of this demo</span></span></h2><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">The only mobility intelligence in this example is to avoid the hazard. There is no collision avoidance mechanism among other vehicles so there is possibility of them running over each other.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">The movement over intersection area of the roads is not modeled. The vehicles, after reaching the end of one road go to the start of next road in their journey in zero time.</span></span></li></ul><h2 class = "S4"><span class = "S2"><span class="S0">Communication model</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">In this scenario, the following packet types are sent periodically:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">‘Hazard Warning’ Packet – Transmitted by broken down vehicle with information of position of hazard (as road ID).</span></span></li><li class = "S7"><span class = "S0"><span class="S0">‘Position beacon’ Packet – Transmitted by both regular vehicles and rogue vehicles.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">It is quite possible that some regular vehicles may not receive the warning message in time to either re-route or avoid the hazard for the following reasons:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Channel busy with data traffic from other vehicles</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Interference</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Path loss</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Low periodicity of warning messages</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S3">NOTE</span></span><span class = "S2"><span class="S0">: All the packets are sent and received on CCH channel as WSMP (WAVE Short Message Protocol) packets. The payload of the WSMP message is specific to this example.</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">Configuration Parameters</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">a)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Communication</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">PHY parameters for all the entities.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                i)  TX gain, RX gain, Rx Noise figure</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Log-distance channel loss model parameters</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                i)  Path loss exponent, reference distance, reference loss</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Application level parameters     </span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                i)  ‘Hazard Warning’ generation frequency</span></span></div><div class = "S5"><span class = "S2"><span class="S0">                ii) ‘Position beacon’ generation frequency</span></span></div><div class = "S5"><span class = "S2"><span class="S0">b)     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Manhattan Grid</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Number of horizontal and vertical blocks</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Road length and road width</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">c)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Regular vehicle configuration</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Number of vehicles</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Journey in terms of source and destination roads.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Respective velocities</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">d)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Rogue vehicle configuration</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Number of vehicles</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Velocity</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">e)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Hazard (Broken down vehicle) configuration</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Location (road id)</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Hazard appearance time</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">f)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Mobility Model for vehicles - Constant Velocity Model &amp; its parameters</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">Results and Analysis</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">While the simulation is running, the results are gathered into log files. The results include:</span></span></div><div class = "S5"><span class = "S2"><span class="S0">a)  Packet statistics at application level for each regular vehicle and broken-down(hazard) vehicle.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Number of ‘hazard warning’ transmitted. (0 for regular vehicle).</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Number of ‘position beacons’ transmitted. (0 for hazard).</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Number of ‘hazard warning’ received. (0 for hazard).</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Total number of packets received successfully including those from rogue vehicles.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">b)  MAC/PHY statistics for each regular vehicle and broken-down(hazard) vehicle.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Total number of corrupted Rx packets.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">c)  Success/Failure counts in terms of number of vehicles able to avoid taking the road with hazard. Also, a count of hard failure is shown which is updated when a vehicle not only takes the route with hazard but collides with it.</span></span></div><div class = "S5"><span class = "S2"><span class="S0"></span></span></div><div class = "S5"><span class = "S2"><span class="S0">A visualization script reads the simulation results from log files, analyzes them and performs visualization. The visualization includes:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Graphical visualization of Manhattan-grid and movement of all vehicles.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Hazard is shown as red cross (X</span></span><span class = "S0"><span class="S0">).</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Vehicles which could not avoid the hazard and stopped on the road with hazard are shown in </span></span><span class = "S0"><span class="S0">red</span></span><span class = "S0"><span class="S0"> </span></span><span class = "S0"><span class="S0">numbers. On the other hand, a stopped vehicle which is not</span></span><span class = "S0"><span class="S0"> </span></span><span class = "S0"><span class="S0">in red signifies that it has completed its journey.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Vehicles which collide with hazard are shown as black crosses (</span></span><span class = "S0"><span class="S3">X</span></span><span class = "S0"><span class="S0">).</span></span></li><li class = "S7"><span class = "S0"><span class="S0">An event-log is shown, which is text-commentary of major events as they happen during the visualization such as: Hazard avoidance by taking alternate route, Hazard collision, stopping on the hazard road to avoid collision.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">A slider to vary the visualization speed, and a button to pause/play the visualization.</span></span></li></ul></div></div><br><!-- <br>##### SOURCE BEGIN #####<br>%% *Hazard Warning in Manhattan Grid*<br>%% Aim of the example<br>% The example models a vehicular communication network for hazard warning in <br>% urban environment with Manhattan grid topology. The aim is to measure the performance <br>% of V2V communication in avoiding the hazard under various conditions.<br>%% MATLAB-NS3 Interface<br>% The core simulation runs in NS-3 with scenario description written in MATLAB. <br>% The NS-3 library functions are called via Mex-bindings interface from MATLAB. <br>% Along with the scenario, the features implemented in MATLAB are:<br>% <br>% * Manhattan-grid topology creation.<br>% * Routing of vehicles.<br>% * Re-routing of vehicles.<br>% * Packet construction of all types.<br>% * Mobility intelligence based on the received packets.<br>% * Post-simulation visualization.<br>%% Scenario Description<br>% The scenario consists of vehicles moving in a Manhattan grid of roads. It <br>% includes:<br>% <br>% * Several ‘regular’ vehicles (shown as numbers) that need to avoid the hazard <br>% to reach the destination<br>% * A broke down ‘hazard’ vehicle (red cross mark) that pops up on one of the <br>% roads<br>% * A set of ‘rogue’ vehicles (small black boxes) that cause communication interference<br>% * Each vehicle is installed with WAVE (over 802.11p) stack for V2V communication.<br>% <br>% Following figure has a 4x4 grid.<br>% <br>%  <br>% <br>%  <br>% <br>% Each road in the grid can be identified by a 3-tuple – *[direction, block <br>% horizontal index, block vertical index]*. The last 2 tuple members identify <br>% a block and ‘direction’ specifies the road surrounding that block. There can <br>% be 4 roads surrounding a block in +x, -x, +y, and -y directions as shown below.<br>% <br>%                                             <br>% <br>% Block’s horizontal index varies from 1 to total horizontal blocks. Likewise, <br>% vertical index varies from 1 to total vertical blocks. So, a sample valid road <br>% identifier could be [‘+y’, 2, 3] which is +y directional road of the 2nd block <br>% in the 3rd row (from bottom) of the grid.<br>% <br>% *Note*: As shown in visualizer figure, there are no roads at the boundaries <br>% of grid. So, a block may have less than 4 roads surrounding it. For example: <br>% 4th block in first (or any) row of grid does not have ‘-x’ and ‘+y’ roads. So <br>% [‘-x’, 4, 1] is not a valid road.<br>% <br>% The user defines the journey for each regular vehicle with valid sour    <br>% ce and destination roads (both defined using 3-tuple identification). The MATLAB <br>% scenario file has a configuration parameter named *journeyList *for this. Each <br>% row in this array defines journey of a vehicle. Here is a code snippet to set <br>% journeys:<br>% <br>% <br>% <br>% The routing algorithm finds a route from start of source road to end of <br>% destination road, during the simulation setup. To make the scenario interesting, <br>% the vehicle route derivation logic ensures that the route passes through the <br>% road with hazard based on configured hazard location defined by ‘*hazardLoc*’ <br>% parameter in the MATLAB scenario file. ‘*hazardLoc’ *is again a valid road identifier <br>% defined using above described 3-tuple identification.<br>% <br>% The rogue vehicles, on the other hand just hover around the hazard with <br>% the sole purpose of creating network interference around it. User just need <br>% to configure the rogue vehicle count, and their route is automatically derived <br>% to make sure they move in vicinity of hazard.<br>% <br>% A hazard appears on one of the roads (configured using ‘*hazardLoc*’ parameter) <br>% at a pre-configured time during the simulation run. It periodically broadcasts <br>% a ‘hazard warning’ packet with its location in the form of blocked road ID.<br>% <br>% The regular vehicles react to the warning message differently, based on <br>% their location.<br>% <br>% * If the vehicle is already on the road with hazard before receiving the hazard <br>% warning, it just stops to avoid collision with the broken-down vehicle.<br>% * If the vehicle is next headed towards hazard road, it dynamically finds <br>% an alternate route (if possible) and thus avoids the hazard.<br>% * If the vehicle is not headed towards hazard, it does not react and continue <br>% along its journey.<br>%% What is not in scope of this demo<br>% * The only mobility intelligence in this example is to avoid the hazard. There <br>% is no collision avoidance mechanism among other vehicles so there is possibility <br>% of them running over each other.<br>% * The movement over intersection area of the roads is not modeled. The vehicles, <br>% after reaching the end of one road go to the start of next road in their journey <br>% in zero time.<br>%% Communication model<br>% In this scenario, the following packet types are sent periodically:<br>% <br>% * ‘Hazard Warning’ Packet – Transmitted by broken down vehicle with information <br>% of position of hazard (as road ID).<br>% * ‘Position beacon’ Packet – Transmitted by both regular vehicles and rogue <br>% vehicles.<br>% <br>% It is quite possible that some regular vehicles may not receive the warning <br>% message in time to either re-route or avoid the hazard for the following reasons:<br>% <br>% * Channel busy with data traffic from other vehicles<br>% * Interference<br>% * Path loss<br>% * Low periodicity of warning messages<br>% <br>% *NOTE*: All the packets are sent and received on CCH channel as WSMP (WAVE <br>% Short Message Protocol) packets. The payload of the WSMP message is specific <br>% to this example.<br>%% Configuration Parameters<br>% a)      Communication<br>% <br>% * PHY parameters for all the entities.<br>% <br>%                 i)  TX gain, RX gain, Rx Noise figure<br>% <br>% * Log-distance channel loss model parameters<br>% <br>%                 i)  Path loss exponent, reference distance, reference loss<br>% <br>% * Application level parameters     <br>% <br>%                 i)  ‘Hazard Warning’ generation frequency<br>% <br>%                 ii) ‘Position beacon’ generation frequency<br>% <br>% b)      Manhattan Grid<br>% <br>% * Number of horizontal and vertical blocks<br>% * Road length and road width<br>% <br>% c)      Regular vehicle configuration<br>% <br>% * Number of vehicles<br>% * Journey in terms of source and destination roads.<br>% * Respective velocities<br>% <br>% d)      Rogue vehicle configuration<br>% <br>% * Number of vehicles<br>% * Velocity<br>% <br>% e)      Hazard (Broken down vehicle) configuration<br>% <br>% * Location (road id)<br>% * Hazard appearance time<br>% <br>% f)      Mobility Model for vehicles - Constant Velocity Model & its parameters<br>%% Results and Analysis<br>% While the simulation is running, the results are gathered into log files. <br>% The results include:<br>% <br>% a)  Packet statistics at application level for each regular vehicle and <br>% broken-down(hazard) vehicle.<br>% <br>% * Number of ‘hazard warning’ transmitted. (0 for regular vehicle).<br>% * Number of ‘position beacons’ transmitted. (0 for hazard).<br>% * Number of ‘hazard warning’ received. (0 for hazard).<br>% * Total number of packets received successfully including those from rogue <br>% vehicles.<br>% <br>% b)  MAC/PHY statistics for each regular vehicle and broken-down(hazard) <br>% vehicle.<br>% <br>% * Total number of corrupted Rx packets.<br>% <br>% c)  Success/Failure counts in terms of number of vehicles able to avoid <br>% taking the road with hazard. Also, a count of hard failure is shown which is <br>% updated when a vehicle not only takes the route with hazard but collides with <br>% it.<br>% <br>% <br>% <br>% A visualization script reads the simulation results from log files, analyzes <br>% them and performs visualization. The visualization includes:<br>% <br>% * Graphical visualization of Manhattan-grid and movement of all vehicles.<br>% * Hazard is shown as red cross (X).<br>% * Vehicles which could not avoid the hazard and stopped on the road with hazard <br>% are shown in red numbers. On the other hand, a stopped vehicle which is not <br>% in red signifies that it has completed its journey.<br>% * Vehicles which collide with hazard are shown as black crosses (*X*).<br>% * An event-log is shown, which is text-commentary of major events as they <br>% happen during the visualization such as: Hazard avoidance by taking alternate <br>% route, Hazard collision, stopping on the hazard road to avoid collision.<br>% * A slider to vary the visualization speed, and a button to pause/play the <br>% visualization.<br>##### SOURCE END #####<br>--></body></html>